home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 021 - HO Utilities - Clock Utility System.dsk / TIME.DATE.DISPL.bas < prev    next >
BASIC Source File  |  2019-02-16  |  3KB  |  75 lines

  1. 10  REM DATE & TIME DISPLAY
  2. 20  REM  FOR TIMEMASTER II H.O.
  3. 30  REM COPYRIGHT (C) 1983 APPLIED ENGINEERING
  4. 40  REM WRITTEN BY BOB SANDER-CEDERLOF
  5. 50  REM ----------------------
  6. 60  TEXT : HOME 
  7. 70  GOSUB 1000: IF SLOT = 0  THEN  PRINT "NO TIMEMASTER II H.O. FOUND": END 
  8. 80  PRINT "YOUR ";: INVERSE : PRINT " TIMEMASTER II H.O. ";: NORMAL : PRINT "  IS IN SLOT "SLOT: PRINT 
  9. 90  GOSUB 1600: REM EXPLAIN MODE ON SCREEN
  10. 100  GOSUB 3000: REM LOAD DATA INTO ARRAYS
  11. 110 BL$ = "                  "
  12. 120  GOSUB 600: REM READ CLOCK
  13. 130  GOSUB 800: REM DISPLAY CLOCK
  14. 140  IF  PEEK( -16384) <128  THEN 120:
  15. 150  POKE  -16368,0
  16. 160  VTAB 23: END 
  17. 599  REM --------------------
  18. 600  REM READ THE CLOCK
  19. 610  INVERSE : VTAB 22: HTAB 4: PRINT "  PRESS ANY KEY TO END PROGRAM  ": NORMAL 
  20. 620 D$ =  CHR$(4)
  21. 630  PRINT D$"PR#"SLOT: PRINT D$"IN#"SLOT
  22. 640  INPUT ":";A$: REM  IN S-C MODE SELECTS TIMEMASTER FORMAT
  23. 645  REM PRINTED CHAR IGNORED BY OTHER MODES
  24. 650  PRINT D$"PR#0": PRINT D$"IN#0"
  25. 660  RETURN 
  26. 799  REM -----------------------
  27. 800  REM DISPLAY CLOCK NICELY
  28. 805 ND =  VAL( MID$ (A$,FMT(AP,3),2)): IF ND = OD  THEN 900: REM SKIP UPDATING FIRST TWO LINES
  29. 810  IF AP < >2  THEN W =  VAL( MID$ (A$,FMT(AP,1),1)):W$ = WK$(W): GOTO 840
  30. 820 W$ =  LEFT$(A$,2): FOR I = 0 TO 6: IF W$ =  LEFT$(WK$(I),2)  THEN W$ = WK$(I):I = 6
  31. 830  NEXT 
  32. 840  VTAB 9: PRINT  LEFT$(BL$,20 -( LEN(W$) +3)/2);W$"DAY   "
  33. 850 M =  VAL( MID$ (A$,FMT(AP,2),2)):M$ = MO$(M)
  34. 860 OD = ND
  35. 870 Y =  VAL( MID$ (A$,FMT(AP,4),2)) +1900
  36. 880 DT$ = M$ +" " + STR$(OD) +", " + STR$(Y)
  37. 890  VTAB 11: PRINT  LEFT$(BL$,20 - LEN(DT$)/2);DT$
  38. 900 H =  VAL( MID$ (A$,FMT(AP,5),2))
  39. 910 T$ =  MID$ (A$,FMT(AP,6),6): REM ":MI:SS"
  40. 920  IF AP = 2  THEN AP$ =  MID$ (A$,21,3): GOTO 960
  41. 930 AP$ = " AM": IF H >11  THEN AP$ = " PM"
  42. 940  IF H = 0  THEN H = 12: GOTO 960
  43. 950  IF H >12  THEN H = H -12
  44. 960 T$ =  STR$(H) +T$ +AP$
  45. 970  VTAB 13: PRINT  LEFT$(BL$,20 - LEN(T$)/2);T$
  46. 980  RETURN 
  47. 999  REM -------------------
  48. 1000  REM  TIMEMASTER II FINDER
  49. 1010 SLOT = 0: FOR I = 1 TO 7:ADDR = 12 *4096 +I *256: REM  $CS00
  50. 1020  IF  PEEK(ADDR) = 8  AND  PEEK(ADDR +1) = 120  AND  PEEK(ADDR +254) = 178  THEN SLOT = I:I = 7
  51. 1030  NEXT : IF SLOT = 0  THEN  RETURN 
  52. 1040 AP =  PEEK(ADDR +255):VER =  PEEK(ADDR +250): IF VER = 255  THEN VER = 0
  53. 1050 PA = 12 *4096 +128 +SLOT *16: REM  $C080+SLOT*16
  54. 1060 CA = PA +1:PB = PA +2
  55. 1070 VER =  INT(VER/16) +(VER -16 * INT(VER/16))/10:VER$ =  STR$(VER)
  56. 1080  RETURN 
  57. 1090  REM -------------------
  58. 1600  REM  EXPLAIN MODE ON SCREEN
  59. 1610  IF AP = 1  THEN Q$ = "APPLECLOCK MODE (SW 2 ON)": IF VER >0  THEN Q$ = Q$ +" VER " +VER$
  60. 1620  IF AP = 3  THEN Q$ = "TIMEMASTER II MODE (SW 2 OFF)": IF VER >0  THEN Q$ = Q$ +" VER " +VER$
  61. 1630  PRINT Q$: RETURN 
  62. 1640  REM -------------------
  63. 2000  DATA  SUN,MON,TUES,WEDNES,THURS,FRI,SATUR
  64. 2010  DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
  65. 2020  DATA  1,3,6,9,12,14: REM W MO/DD/YY HH:MI:SS
  66. 2030  DATA 16,1,4,17,7,9: REM MO/DD HH:MI:SS.WYY
  67. 2040  DATA  1,4,7,10,13,15: REM WW MO/DD/YY HH:MI:SS AM
  68. 2050  DATA  1,3,6,9,12,14: REM W MO/DD/YY HH:MI:SS
  69. 3000  REM LOAD DATA INTO ARRAYS
  70. 3010  DIM WK$(6),MO$(12),FMT(3,6)
  71. 3020  FOR I = 0 TO 6: READ WK$(I): NEXT 
  72. 3030  FOR I = 1 TO 12: READ MO$(I): NEXT 
  73. 3040  FOR I = 0 TO 3: FOR J = 1 TO 6: READ FMT(I,J): NEXT : NEXT 
  74. 3050  RETURN 
  75. 60000  PR# 1: PRINT  CHR$(9)"80N":E$ =  CHR$(27): PRINT E$"B"E$"E"E$"L010": LIST : PR# 0: CALL 1002: END